package com.ailanyin.modules.flowable.mapper;

import com.ailanyin.modules.flowable.domain.WfForm;
import com.ailanyin.modules.flowable.domain.bo.WfFormBo;
import com.ailanyin.modules.flowable.domain.vo.WfFormVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 流程单信息Mapper接口
 *
 * @author ailanyin
 * @date 2022-12-13
 */
public interface WfFormMapper {

    /**
     * 查询流程单信息
     *
     * @param formId 流程单信息主键
     * @return 流程单信息
     */
    WfFormVo selectVoByFormId(@Param("formId") Long formId);

    /**
     * 查询流程单信息
     *
     * @param formId 流程单信息主键
     * @return 流程单信息
     */
    WfForm selectByFormId(@Param("formId") Long formId);

    /**
     * 批量删除
     *
     * @param ids ids
     * @return 结果
     */
    int deleteBatch(@Param("list") List<Long> ids);

    /**
     * 修改
     *
     * @param bo bo
     * @return 结果
     */
    int updateByFormId(WfFormBo bo);

    /**
     * 新增
     *
     * @param wfForm wfForm
     * @return 结果
     */
    int insert(WfForm wfForm);

    /**
     * 查询列表
     *
     * @param bo 条件
     * @return list
     */
    List<WfFormVo> selectList(WfFormBo bo);

    /**
     * 查询流程挂载的表单
     *
     * @param deployId deployId
     * @return vo
     */
    WfFormVo selectDeployFormByDeployId(String deployId);
}
